草庐IT

Unity3D UI

全部标签

【Unity】如何设置你的默认External Scripts Editor

HowtosetyourExternalScriptsEditorasdefaultIfyoujustselectVisualStudio,thenitwillbeenreseteverytimeyoureopenyourUnityEditorSoyoucouldclickBrowse,andselectforexample:C:\MicrosoftVisualStudio\2022\Community\Common7\IDE\devenv.exeReopenUnityEditor,youwillseeitisdefaultnow.1.Edit-Preferences如果你在这里的Extern

【Unity】简单案例脚本实现 | 鼠标观察/键盘控制移动飞行/行走/碰撞检测

《Unity5实战-使用C#和Unity开发多平台游戏》第二章-构建一个让你置身3D空间的演示鼠标观察/键盘控制移动飞行/行走/碰撞检测Unity版本:2019.4.23f1c1注意脚本名称和组件添加,不在文章中一一强调场景模型都是在资源商店选择的免费下载(选择SortbyPrice(LowtoHigh)排序)搜索参考关键字:airplane、sky整篇的实例代码是修改累加的,为了防止混乱我就全部贴上,不强调新增或删减部分搭建:一架飞机模型(脚本挂载物体),天空盒(照明设置),摄像机Camera原始画面:跟随鼠标观察周围脚本运行效果:如果改为鼠标X则只能水平旋转(我这里是摄像机角度有些倾斜,不

Unity导入图片时,通过设置属性快速实现资源的压缩

是在学习tilemap绘制世界地图的时候发现的这个功能。之前一直只是粗略的知道这部分是对应图片资源的压缩的。比如Compression是指的压缩质量,想要完全不压缩就设置None,会导致图片资源会大一些。在我的例子工程中,其他图片资源的尺寸都是64x64,在tilemap的调色板中放入是没有任何异常的。但是这个作为瀑布的图片,原图尺寸是640x256,如果按照64比例会生成10*4的图:但是从图片细节上来看,并不需要切割成这么小的方块。所以,切割时对64x64等比例放大,成为128x128,这样,既能不缺少更多细节,又不至于切割的过于零碎,不好使用。当然,还可以继续放大。但是如果继续放大,纵方

Unity2023, Unity2022, Unity2021的性能对比(帧率)

最近由于需要用到Unity最新版的一些功能,比如Spline,比如Foward+渲染,新项目用了Unity2022.3.5版本,但是出包之后,感觉帧率很低。本着好奇的态度,专门写了一个测试场景,分别在Unity2023.1.15,Unity2022.3.5,Unity2021.3.14版本,进行了测试,分别得出帧率:Unity2023.1.15--97帧左右Unity2022.3.5--99帧左右Unity2021.3.14 --180 帧左右(高!)在Unity2023.1.15下,用测试机oppoK11(12G内存版),进行了profile测试:在Google上查询后,发现国外道友也是遇到

【Unity2022】Unity实现在两个物体之间连出一条线

文章目录LineRenderer组件添加LineRenderer组件重要属性Positions(位置)Width(宽度)Material(材质)其他属性使用脚本绘制直线绳子运行结果其他文章LineRenderer组件我们可以使用LineRenderer组件来实现连线,该是Unity中的一个内置组件,它允许我们在场景中绘制线条。特别适用于创建路径、轨迹、激光或任何需要绘制直线的情况。添加LineRenderer组件要在游戏对象上添加LineRenderer组件,我们需要选择目标物体,然后在Inspector窗口中点击"AddComponent"按钮,并搜索LineRenderer。在添加之后,我

Unity控制程序退出

  大家好,我是阿赵。  最近把公司的游戏发布到各种PC的游戏大厅,遇到了挺多奇怪的需求。之前介绍了一些Unity发布PC端控制窗口最大最小化、修改exe信息等问题,这次来探讨一下退出游戏的问题。一、收到奇怪的需求  某游戏大厅要求,运行游戏后,如果玩家没有创建角色进入游戏,不准玩家退出游戏,点击exe窗口的关闭按钮,也不能关游戏。  先不讨论这个需求是否道德的问题。单纯从技术的角度,看看这个需求是怎样实现的。二、分析问题  由于游戏本身是通过Unity引擎来做的,所以只能通过Unity提供的API来解决这个问题。关于游戏退出的API,大概有这么几个:1、Application.wantsTo

Unity中Shader雾效的实现方法一

文章目录前言一、在片元着色器中使用如下公式计算`最终的颜色=lerp(雾效颜色,物体颜色,雾效混合因子)`1、获取雾效颜色2、物体的颜色一般通过纹理采样得到,此处用1代替测试3、获取雾效混合因子(由雾的距离和雾的浓度决定)二、在顶点着色器中,计算不同类型的雾效混合因子(在顶点着色器计算节省性能)Unity预定义好方便我们计算的四维变量unity_FogParams1、计算线性雾的雾效混合因子2、计算指数雾1的雾效混合因子3、计算指数雾2的雾效混合因子三、最终测试代码前言Unity中Shader雾效的实现方法一,按照之前的公式,我们自己来实现一下Unity中Shader雾效的原理基于上一篇文章继

Unity的碰撞检测(总结篇)

Unity碰撞检测系列文章结论总结:(1)有效碰撞的必要条件:      ①两个游戏对象至少有一个具备刚体。       ②两个游戏对象必须有至少一个碰撞器。       ③刚体的BodyType属性为Dynamic。(2)有效触发的必要条件:      ①两个游戏对象至少有一个具备刚体。       ②两个游戏对象必须有至少一个触发器。       ③刚体的BodyType属性为Kinematic或Dynamic。(3)在有效碰撞的前提下进行正确的碰撞检测和避免碰撞穿透的条件:      两个游戏对象在发生有效碰撞的前提下,要能够正确进行碰撞检测和避免碰撞穿透则至少有一个游戏对象的刚体的Co

Unity 检测鼠标是否在UI上的方法

 整理一下:1.官方提供的API:voidLateUpdate(){//该方法过于简单粗暴,所有有些不足之处,列如:1.检测不到返回细节,2.场景有3d可点击物体,也会杯当作UI检测(这点可能不准确,需要测试)//方法用于判断鼠标是否点击在UI上。这个方法通过检查//UI元素的RaycastTarget属性来确定是否在UI元素上。如果UI元素的RaycastTarget属性被勾选,//那么当鼠标点击在该UI元素上时,该方法将返回true;否则,返回false。if(EventSystem.current.IsPointerOverGameObject()){Debug.Log("点击了UI")

android - 无法在 unity java 插件上使用 google play 服务

我有一个用Java编写的Unity插件。在这个插件中,我需要获取新的GoogleAdvertisementID为此,我必须添加到list文件中:当我编译时,Unity抛出错误:ErrorbuildingPlayer:CommandInvokationFailure:Failedtore-packageresources.SeetheConsolefordetails./Applications/adt/sdk/build-tools/android-4.2.2/aaptpackage--auto-add-overlay-v-f-m-Jgen-MAndroidManifest.xml-S